/**
 * ReportGear(2011)
 */
package com.reportgear.core.data.model;

import java.util.HashMap;
import java.util.Map;

import com.sot.core.util.NumberUtils;
import com.sot.core.util.StringUtils;

/**
 * 薪酬数据对象,存储XML查询出来的结果,只有少量数据时使用
 * 
 * @version 1.0 2011-5-26
 * @author <a herf="lexloo@gmail.com">lexloo</a>
 * @since Report 1.0
 */
public class SalaryDataObject {
	private Map<String, Object> values = new HashMap<String, Object>();

	/**
	 * 设置字段的值
	 * 
	 * @param field
	 *            字段名
	 * @param value
	 *            字段值
	 */
	public void setValue(String field, Object value) {
		this.values.put(field, value);
	}

	/**
	 * 获取指定字段的值
	 * 
	 * @param field
	 *            字段名
	 * @return 值(String)
	 */
	public String getString(String field) {
		return StringUtils.convertToString(this.values.get(field));
	}

	/**
	 * 获取指定字段的值
	 * 
	 * @param field
	 *            字段名
	 * @return 值(int)
	 */
	public int getInt(String field) {
		return NumberUtils.convertToInteger(this.values.get(field), 0);
	}

	/**
	 * 获取指定字段的值
	 * 
	 * @param field
	 *            字段名
	 * @return 值(long)
	 */
	public long getLong(String field) {
		return NumberUtils.convertToLong(this.values.get(field), 0L);
	}

	/**
	 * 获取指定字段的值
	 * 
	 * @param field
	 *            字段名
	 * @return 值(double)
	 */
	public double getDouble(String field) {
		return NumberUtils.convertToDouble(this.values.get(field), 0.0D);
	}
}
